import com.sun.org.apache.regexp.internal.RE;

import java.util.Arrays;
import java.util.Scanner;

/**
 * Created whit IntelliJ IDEA.
 * Description：
 * User：ZHONGCHEN
 * Date:2022-02-24
 * Time:11:25
 */

/**
 * 1706. 球会落何处
 * 用一个大小为 m x n 的二维网格 grid 表示一个箱子。你有 n 颗球。箱子的顶部和底部都是开着的。
 * 箱子中的每个单元格都有一个对角线挡板，跨过单元格的两个角，可以将球导向左侧或者右侧。
 * 将球导向右侧的挡板跨过左上角和右下角，在网格中用 1 表示。
 * 将球导向左侧的挡板跨过右上角和左下角，在网格中用 -1 表示。
 * 在箱子每一列的顶端各放一颗球。每颗球都可能卡在箱子里或从底部掉出来。如果球恰好卡在两块挡板之间的 "V" 形图案，或者被一块挡导向到箱子的任意一侧边上，就会卡住。
 * 返回一个大小为 n 的数组 answer ，其中 answer[i] 是球放在顶部的第 i 列后从底部掉出来的那一列对应的下标，如果球卡在盒子里，则返回 -1
 * <p>
 * 来源：力扣（LeetCode）
 * 链接：https://leetcode-cn.com/problems/where-will-the-ball-fall
 * 著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。
 */
public class TestDemo {
    public static void main1(String[] args) {
        int[][] num = {{1}};
        System.out.println(Arrays.toString(findBall(num)));
    }

    public static int[] findBall(int[][] grid) {
        //获取列数
        int n = grid[0].length;
        //获取行数
        int deep = grid.length;
        //存储答案的数组
        int[] ans = new int[n];
        //遍历每列
        for (int i = 0; i < n; i++) {
            //每列从0行开始遍历
            int row = 0;
            int low = i;
            while (row < deep) {
                //碰到右边墙壁
                if (grid[row][low] == 1 && low == n - 1) {
                    ans[i] = -1;
                    break;
                } else if (grid[row][low] == -1 && low == 0) {
                    //碰到左边墙壁
                    ans[i] = -1;
                    break;
                } else if (grid[row][low] == 1 && grid[row][low + 1] == -1) {
                    //碰到v字形
                    ans[i] = -1;
                    break;
                } else if (grid[row][low] == -1 && grid[row][low - 1] == 1) {
                    //碰到v字形
                    ans[i] = -1;
                    break;
                } else if (grid[row][low] == 1 && grid[row][low + 1] == 1) {
                    //球向右边走
                    row++;
                    low++;
                } else {
                    //求向左边走
                    row++;
                    low--;
                }
            }
            if (row == deep) {
                ans[i] = low;
            }
        }
        return ans;
    }

    public static void main2(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int[] num = new int[4];
        for (int i = 0; i < 4; i++) {
            num[i] = scanner.nextInt();
        }
        double a = (num[0] + num[2]) / 2.0;
        double b = (num[1] + num[3]) / 2.0;
        double c = b - num[1];
        if (a < 0 || b < 0 || c < 0 || a != (int) a || b != (int) b || c != (int) c) {
            System.out.println("No");
            return;
        }
        System.out.println((int)a + " " + (int)b + " " + (int)c);
        return;
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int num = scanner.nextInt();
        String s = Integer.toString(n,num);
        System.out.println(s.toUpperCase());
    }

}
